home *** CD-ROM | disk | FTP | other *** search
/ PC Professionell 2006 May / PCpro_2006_05.ISO / files / mobile / fma-2.0-stable-setup.exe / {app} / source / uAbout.pas < prev    next >
Encoding:
Pascal/Delphi Source File  |  2005-01-26  |  7.7 KB  |  292 lines

  1. unit uAbout;
  2.  
  3. interface
  4.  
  5. {
  6. *******************************************************************************
  7. * Descriptions: About Box Implementation
  8. * $Source: /cvsroot/fma/fma/uAbout.pas,v $
  9. * $Locker:  $
  10. *
  11. * Todo:
  12. *
  13. * Change Log:
  14. * $Log: uAbout.pas,v $
  15. * Revision 1.27.6.1  2005/01/25 16:03:07  z_stoichev
  16. * Merged with 2.1 Beta 1 bugfixes
  17. *
  18. * Revision 1.27  2004/07/07 09:13:52  z_stoichev
  19. * Common Wizard Image usage
  20. *
  21. * Revision 1.26  2004/06/25 20:35:02  lordlarry
  22. * - Added warning not to send bugs to developers directly
  23. * - Mentioned the irc channel
  24. *
  25. * Revision 1.25  2004/06/11 12:27:42  z_stoichev
  26. * Updated project admins.
  27. *
  28. * Revision 1.24  2004/04/01 15:01:44  z_stoichev
  29. * Donate link
  30. *
  31. * Revision 1.23  2004/03/28 20:46:16  z_stoichev
  32. * GUI changes
  33. *
  34. * Revision 1.22  2004/03/08 12:20:14  z_stoichev
  35. * Updated INC file comments
  36. *
  37. * Revision 1.21  2003/12/18 15:22:39  z_stoichev
  38. * About image changed, layot changed.
  39. *
  40. * Revision 1.20  2003/12/11 14:54:31  z_stoichev
  41. * Build Letter variable moved into INC file.
  42. *
  43. * Revision 1.19  2003/12/11 12:42:13  z_stoichev
  44. * Patch 28e.
  45. *
  46. * Revision 1.18  2003/12/09 16:08:24  z_stoichev
  47. * Added usage of uVersion unit.
  48. *
  49. * Revision 1.17  2003/12/09 12:05:25  z_stoichev
  50. * Build 0.10.28c + 29a changes without new WaitComplete unit.
  51. *
  52. * Revision 1.16  2003/12/04 16:25:58  z_stoichev
  53. * Update 29a.
  54. *
  55. * Revision 1.15  2003/12/03 16:18:00  z_stoichev
  56. * Build increased to 0.1.0.29.
  57. *
  58. * Revision 1.14  2003/12/02 16:14:58  z_stoichev
  59. * Patch 28d
  60. *
  61. * Revision 1.13  2003/11/28 09:38:07  z_stoichev
  62. * Merged with branch-release-1-1 (Fma 0.10.28c)
  63. *
  64. * Revision 1.12.2.19  2003/11/27 12:58:01  z_stoichev
  65. * Patch 28c.
  66. *
  67. * Revision 1.12.2.18  2003/11/26 12:24:05  z_stoichev
  68. * Update to patch 28b.
  69. *
  70. * Revision 1.12.2.17  2003/11/21 10:56:36  z_stoichev
  71. * Patch 28a
  72. *
  73. * Revision 1.12.2.16  2003/11/19 12:48:57  z_stoichev
  74. * Build 28.
  75. *
  76. * Revision 1.12.2.15  2003/11/14 15:41:02  z_stoichev
  77. * Updates for patch 27d.
  78. *
  79. * Revision 1.12.2.14  2003/11/13 16:49:03  z_stoichev
  80. * Patch updated to 27c.
  81. * Logo image transparancy issue fixed.
  82. *
  83. * Revision 1.12.2.13  2003/11/11 18:10:01  z_stoichev
  84. * Use common background.
  85. *
  86. * Revision 1.12.2.12  2003/11/11 13:15:47  z_stoichev
  87. * Update to patch b.
  88. * GUI changed to allow more space.
  89. *
  90. * Revision 1.12.2.11  2003/11/10 16:07:57  z_stoichev
  91. * Update for patch 27a.
  92. *
  93. * Revision 1.12.2.10  2003/11/10 14:03:09  z_stoichev
  94. * RC3
  95. *
  96. * Revision 1.12.2.9  2003/11/07 16:35:52  z_stoichev
  97. * Update to patch 20c.
  98. *
  99. * Revision 1.12.2.8  2003/11/07 09:48:42  z_stoichev
  100. * Update to patch 20b.
  101. * Wizard Image made common.
  102. *
  103. * Revision 1.12.2.7  2003/11/04 12:28:16  z_stoichev
  104. * Update to patch a.
  105. *
  106. * Revision 1.12.2.6  2003/10/31 14:49:52  z_stoichev
  107. * Added logo background and credits.
  108. *
  109. * Revision 1.12.2.5  2003/10/30 13:20:39  z_stoichev
  110. * Update to patch d.
  111. * Added Fma logo image.
  112. *
  113. * Revision 1.12.2.4  2003/10/29 14:58:06  z_stoichev
  114. * Update to patch c.
  115. *
  116. * Revision 1.12.2.3  2003/10/28 12:56:06  z_stoichev
  117. * Update to patch b.
  118. *
  119. * Revision 1.12.2.2  2003/10/27 15:38:29  z_stoichev
  120. * Update to patch 19a.
  121. *
  122. * Revision 1.12.2.1  2003/10/27 07:22:54  z_stoichev
  123. * Build 0.1.0 RC1 Initial Checkin.
  124. *
  125. * Revision 1.12  2003/10/24 16:59:10  z_stoichev
  126. * Updated to patch 'd'.
  127. *
  128. * Revision 1.11  2003/10/24 12:28:43  z_stoichev
  129. * Patch version "c".
  130. *
  131. * Revision 1.10  2003/10/23 11:36:54  z_stoichev
  132. * Increased patch number, and font changed.
  133. *
  134. * Revision 1.9  2003/10/22 14:13:44  z_stoichev
  135. * Add patch support (show a letter after build number).
  136. *
  137. * Revision 1.8  2003/10/16 11:13:35  z_stoichev
  138. * Changed to show file build instead of
  139. * product version.
  140. *
  141. * Revision 1.7  2003/10/14 08:24:07  z_stoichev
  142. * Removed form transparency.
  143. * Added me as a developer.
  144. *
  145. * Revision 1.6  2003/10/10 13:35:09  z_stoichev
  146. * New about logo including T610 :-))
  147. *
  148. * Revision 1.5  2003/07/02 12:47:08  crino77
  149. * changed role
  150. *
  151. * Revision 1.4  2003/01/30 04:12:54  warren00
  152. * Added hyperlink url and dynamic version info. Configure version info in Project->Option
  153. *
  154. *
  155. *******************************************************************************
  156. }
  157.  
  158. uses
  159.   Windows, Messages, SysUtils, Variants, Classes, Controls, Forms,
  160.   Dialogs, StdCtrls, ExtCtrls, ShellApi, LMDControl, LMDBaseControl,
  161.   LMDBaseGraphicControl, LMDGraphicControl, LMDScrollText, Graphics,
  162.   RxGIF, GIFImage;
  163.  
  164. (*
  165. const
  166.   // should be changed manualy when releasing a patch,
  167.   // and should be cleared when releasing a new build version.
  168.  
  169.   // also keep minor changes patch by increase letters,
  170.   // and majr changes patch by increaseing build number.
  171.   BuildPatchLetter = '';
  172.  
  173.   // useful for monthly builds ala Xmas Edition.
  174.   BuildFriendlyName = '';
  175. *)
  176.  
  177. { Following  include file contains the commented lines above.
  178.   Its done to avoid CVS checkin/checkout on every single update. }
  179.  
  180. {$I uAbout.inc}
  181.  
  182. type
  183.   TfrmAbout = class(TForm)
  184.     Button1: TButton;
  185.     Bevel2: TBevel;
  186.     lbURL: TLabel;
  187.     Panel1: TPanel;
  188.     Bevel1: TBevel;
  189.     lbVersion: TLabel;
  190.     Bevel3: TBevel;
  191.     Label1: TLabel;
  192.     Label2: TLabel;
  193.     Label5: TLabel;
  194.     Label6: TLabel;
  195.     Label7: TLabel;
  196.     Label8: TLabel;
  197.     LMDScrollText1: TLMDScrollText;
  198.     Image1: TImage;
  199.     Label3: TLabel;
  200.     Label4: TLabel;
  201.     Label9: TLabel;
  202.     Image3: TImage;
  203.     Label10: TLabel;
  204.     Label11: TLabel;
  205.     Button2: TButton;
  206.     Bevel4: TBevel;
  207.     Label12: TLabel;
  208.     procedure FormCreate(Sender: TObject);
  209.     procedure lbURLClick(Sender: TObject);
  210.     procedure SendMailClick(Sender: TObject);
  211.     procedure FormShow(Sender: TObject);
  212.     procedure FormHide(Sender: TObject);
  213.     procedure Button2Click(Sender: TObject);
  214.   private
  215.     { Private declarations }
  216.     Procedure LoadVersionInfo;
  217.   public
  218.     { Public declarations }
  219.   end;
  220.  
  221. var
  222.   frmAbout: TfrmAbout;
  223.  
  224. function GetBuildVersionDtl: string;
  225.  
  226. implementation
  227.  
  228. uses Unit1, uVersion;
  229.  
  230. {$R *.dfm}
  231.  
  232. function GetBuildVersionDtl: string;
  233. begin
  234.   Result := ExtractFileVersionInfo(Application.ExeName,'FileVersion') +
  235.     BuildPatchLetter;
  236.   if BuildFriendlyName <> '' then
  237.     Result := Result + ' ' + BuildFriendlyName;
  238.   if BuildPatchLetter <> '' then
  239.     Result := Result + ' (patched)';
  240. end;
  241.  
  242. { TfrmAbout }
  243.  
  244. procedure TfrmAbout.LoadVersionInfo;
  245. begin
  246.   //lbProductName.Caption := ExtractFileVersionInfo(Application.ExeName,'ProductName');
  247.   lbVersion.Caption := 'Version ' + GetBuildVersionDtl;
  248.   lbURL.Caption := ExtractFileVersionInfo(Application.ExeName,'URL');
  249. end;
  250.  
  251. procedure TfrmAbout.FormCreate(Sender: TObject);
  252. begin
  253. {$IFDEF VER150}
  254.   Panel1.ParentBackground := False;
  255. {$ENDIF}
  256.   Image1.Picture.Assign(Form1.CommonBitmaps.Bitmap[1]);
  257.   LoadVersionInfo;
  258. end;
  259.  
  260. procedure TfrmAbout.lbURLClick(Sender: TObject);
  261. begin
  262.   ShellExecute(Handle, 'open', PChar(TLabel(Sender).Caption), '', '', SW_SHOWNORMAL);
  263. end;
  264.  
  265. resourcestring
  266.   SDoNotSendBugsByMail = 'Please do not send bugs reports or feature requests by mail.';
  267.   
  268. procedure TfrmAbout.SendMailClick(Sender: TObject);
  269. begin
  270.   ShowMessage(SDoNotSendBugsByMail);
  271.   ShellExecute(Handle, 'open', PChar('mailto:' + TLabel(Sender).Caption), '', '', SW_SHOWNORMAL);
  272. end;
  273.  
  274. procedure TfrmAbout.FormShow(Sender: TObject);
  275. begin
  276.   LMDScrollText1.Scroll := True;
  277. end;
  278.  
  279. procedure TfrmAbout.FormHide(Sender: TObject);
  280. begin
  281.   LMDScrollText1.Scroll := False;
  282. end;
  283.  
  284. procedure TfrmAbout.Button2Click(Sender: TObject);
  285. begin
  286.   { Note: this is personal donation link for Dako (temporary placed here)
  287.     TODO: Add support for team donation, or other personal links }
  288.   ShellExecute(Handle, 'open', 'http://order.kagi.com/?6CYME&lang=en', '', '', SW_SHOWNORMAL);
  289. end;
  290.  
  291. end.
  292.